package com.yxinsur.imc.business.form;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 批单信息form对象
 *
 * @author imc
 * @date 2021-03-18
 */
@Data
@ToString
public class OrderDataEndorseForm
{
    private static final long serialVersionUID = 1L;


    /** 保单基本信息 */
    @ApiModelProperty("保单基本信息")
    @Valid
    @NotNull(message="保单基本信息[order]不能为空;")
    private OrderEndorseForm order;

    /** 投保人信息 */
    @ApiModelProperty("投保人信息")
    @Valid
    @NotNull(message="投保人信息[applicant]至少有一条;")
    private List<OrderPersonEndorseForm> applicants;

    /** 被保人信息 */
    @ApiModelProperty("被保人信息")
    @Valid
    @NotNull(message="被保人信息[insurant]至少有一条;")
    private List<OrderPersonEndorseForm> insurants;

    /** 受益人信息 */
    @ApiModelProperty("受益人信息")
    @Valid
    @NotEmpty(message="受益人信息[favour]至少有一条;")
    private List<OrderPersonEndorseForm> favours;

    /** 险种信息 */
    @ApiModelProperty("险种信息")
    @Valid
    @NotEmpty(message="险种信息[risks]至少有一条;")
    private List<OrderRiskEndorseForm> risks;

    /** 保单缴费银行信息 */
    @ApiModelProperty("保单缴费银行信息")
    @Valid
    @NotNull(message="保单缴费银行信息[bankInfo]不能为空;")
    private OrderBankInfoEndorseForm bankInfo;


    /** 保单影像件信息 */
    @ApiModelProperty("保单影像件信息")
    @Valid
    private List<OrderImgEndorseForm> imgs;
}
